Artificial Intelligence Consultancy
Breakthrough
In the last couple of years, Artificial Intelligence (AI) became more and more powerful and usable in real-life applications. This was, however, mostly unnoticed by the large public, because the applications were mostly quite specialized classification functions. An example for this kind of AI application can be found in smartphone camera software. Based on what the camera "sees", AI selects adequate settings. For an end user, it is hard to distinguish whether this is already AI, or whether it's done with classical algorithms.
Recently, ChatGPT has received a lot of attention, because, compared with applications we knew so far, it is different in various ways:
- The user interface behaves like any messenger client and users can communicate with the software in natural language including slang words, acronyms and grammatical mistakes.
- Apart from some content restrictions to avoid conflict with law, users can communicate with the software on virtually any topic.
- Its huge knowledge base and the quality of text understanding and assembly take ChatGPT from being a funny toy to being a useful tool.
Suddenly, teachers are confronted with homework from their students that might have been AI-generated. But can it do more than summarize stuff it found on the web?
Here's a DITA topic ChatGPT generated after some instructions. It gathered the information by itself, added hazardstatements (there were more, one was left as an example), and it was also able to apply terminology provided as a list.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE task PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd"> <task id="remove-paint"> <title>How to Remove Old Paint using NaOH Solution</title> <taskbody> <prereq> <p>Before you start, gather the following materials:</p> <ul> <li>Protective gloves and goggles</li> <li>NaOH (sodium hydroxide)</li> <li>Water</li> <li>Bucket or container</li> <li>Scrub brush or wire brush</li> <li>Putty knife or scraper</li> <li>Paper towels or rags</li> </ul> <p>Be aware that sodium hydroxide is a caustic substance that can cause severe skin and eye irritation. Use gloves and goggles to protect yourself from the solution.</p> </prereq> <steps> <step> <hazardstatement type="danger"> <messagepanel> <typeofhazard>Skin and eye irritation</typeofhazard> <consequence>Sodium hydroxide is a caustic substance that can cause severe skin and eye irritation.</consequence> <howtoavoid>Wear protective gloves and goggles while handling the solution.</howtoavoid> </messagepanel> </hazardstatement> <cmd>Mix 1 kg of NaOH with 5 L of water according to the manufacturer's instructions.</cmd> <info><p><b>Note:</b> Be careful when handling NaOH as it can cause skin and eye irritation. Follow the instructions on the package for safe handling.</p></info> </step> <step> <cmd>Apply the NaOH solution to the painted surface using a brush or sponge.</cmd> <info><p><b>Note:</b> Make sure to cover the painted surface evenly with the solution.</p></info> </step> <step> <cmd>Allow the solution to sit on the surface for 10-15 minutes.</cmd> <info><p><b>Note:</b> The length of time may vary depending on the thickness and age of the paint.</p></info> </step> <step> <cmd>Scrub the surface with a scrub brush or wire brush to remove the paint.</cmd> <info><p><b>Note:</b> Use a putty knife or scraper to remove any stubborn areas of paint.</p></info> </step> <step> <cmd>Rinse the surface thoroughly with water to remove any remaining NaOH solution.</cmd> <info><p><b>Note:</b> Use paper towels or rags to dry the surface after rinsing.</p></info> </step> </steps> </taskbody> </task>
This was generated with few and general instructions, and just using the standard chat. For real-life applications like this one, the ChatGPT API would be used instead. This would enable providing the terminology and some DITA writing rules in structured form. A possible application could be that service technicians or engineering write a bullet list with instructions and the AI organizes them into a DITA task prototype that only needs to be fine-tuned by a technical writer.
What else?
- Stable Diffusion is an AI based image generator. The background image of the ad on top of this page was generated with the AI image generator Stable Diffusion. Apart from textures and art, it is also helpful for generating realistic images, but this involves some effort beyond finding a good prompt.
- ChatGPT can be helpful in many fields. We use it in software development to generate code snippets or to get "getting started" or "how do I …?" type information on new fields of knowledge.
- ChatGPT can generate code of nearly any type - programming languages, DITA, SVG with content as requested in the chat, musical notation and nearly anything else.
- Various GPT-based services from OpenAI can be accessed through an API:
- Integration with other software.
- Preloaded rule sets (like terminology or writing guidelines to be applied).
- More complex AI requests containing of multiple steps.
- Detailed influence on parameters and models.
- Language-based AIs can be used to apply terminology and classify content into taxonomies.
- Image-based AIs can be used to classify image content.
Read more
- Chat for one, a summary of experiences with ChatGPT.
- Machine talk, some thoughts about AI integration into software.
- AI briefing, about the coexistence of AI training, creative prompting and standardized AI briefing.
What we can do for you
- In the first place, we can help you sorting out your questions and identifying powers, limits and possible applications in your environment.
- We can help you integrate software products you are using with AI services, particularly GPT.
- OpenAI, the company behind ChatGPT, offer a number of different pay-per-use models with the API - we can help you find the right plan and its configuration for you, and structure a data model suitable for the solution.
- We have significant experience with so-called prompt engineering, expressing a task in a way that an AI can handle it best. Basically, it can be seen as a software development technique - telling a machine what to do in an optimally efficient way.
- While ChatGPT's natural language capabilities cope well with incomplete or confusing input, it is still more efficient to reduce a chat to one particular task. In the above DITA example, instead of asking for the final result, it works better to first gather the information as a list, then let it structure it and clean up the language, then turn it to a DITA task and then add the hazardstatements. If this happens over the API, it can be hidden from the user that there are multiple processing steps.
- In image generators like Stable Diffusion, it's important to group and emphasize the features desired in the picture. Also, generating attractive images is an iterative task where the user generates some images until there is a good starting point, then feeds the good results back in and emphasizes new properties in the prompt.